10 IF AA=1THEN90 20 DIMN$(20):POKE53280,0:POKE53281,0:PRINT"[147][129]"TAB(13)" VIDEO JIGSAW " 30 GOSUB1230:AA=1:PRINT"[147] LOADING "N$(A) 40 PRINT" PLEASE WAIT....[144]" 50 IFLEFT$(N$(A),1)="D"THENZZ=1 60 IFLEFT$(N$(A),1)="[129]"THENZZ=2 70 POKE49990,ZZ 80 LOAD N$(A),8,1 90 POKE55,0:POKE56,92:CLR:ZZ=PEEK(49990):DIM N$(200) 100 FORA=828TO873:READ D:POKEA,D:NEXT 110 FORA=49879TO49973:READ D:POKEA,D:NEXT 120 PRINT"[147]":POKE781,8:POKE782,5:POKE783,0:SYS65520 130 PRINT"CHOOSE SIZE OF PUZZLE PIECES:" 140 PRINT"(SMALLER NUMBERS GIVE HARDER PUZZLES)" 150 POKE781,14:POKE782,2:POKE783,0:SYS65520 160 PRINT"LENGTH (FROM 2 TO 12[146])";:INPUT L$ 170 L=VAL(L$):IFL<2ORL>12THEN150 180 POKE781,18:POKE782,2:POKE783,0:SYS65520 190 PRINT "WIDTH (FROM 2 TO 20[146])";:INPUT W$ 200 W=VAL(W$):IFW<2ORW>20THEN180 210 PRINT"[147] ONCE PUZZLE APPEARS YOU MAY SEE" 220 PRINT" PICTURE AS IT SHOULD LOOK WHEN" 230 PRINT" FINISHED BY PRESSING F1" 240 PRINT"[158] PLUG JOYSTICK INTO PORT 2" 250 PRINT" PUZZLE CONSTRUCTION WILL BLANK" 260 PRINT" SCREEN FOR 1 TO 2 MINUTES" 270 PRINT" PRESS ANY KEY TO START CONSTRUCTION" 280 GET K$:IFK$=""THEN PRINT"[145]";:POKE646,PEEK(56325):GOTO270 290 POKE53265,PEEK(53265)AND239 300 IFZZ=1THENGOSUB1530 310 IFZZ=2THENGOSUB1570:GOSUB1530:POKE53281,PEEK(34576) 320 FORA=32704TO32767:READ D:POKEA,D:NEXT 330 V=53248:SID=54272:XX =24+(W*4-4):YY=50+(L*4)-4 340 POKESID+5,9:POKESID+6,9 350 MAX=XX+(INT(40/W)-1)*8*W:MYX=YY+(INT(25/L)-1)*8*L 360 DIM S(1000):DIMC(1000) 370 DEF FN HI(M)=INT(M/256):DEF FN LO(M)=M-256*FN HI(M) 380 FOR N =0 TO INT (25/L)-1 390 FOR N1=0 TO INT (40/W)-1 400 B=B+1 410 S(B)=24576+N1*(W*8)+N*(L*320) 420 C(B)=55296+N1*(W)+N*(40*L) 430 A$=A$+CHR$(B) 440 NEXT N1:NEXTN 450 D$=A$:B$=A$ 460 FORI=1TOB:A=I+INT((B+1-I)*RND(0)) 470 D$=MID$(D$,A,1)+LEFT$(D$,A-1)+RIGHT$(D$,B-A) 480 NEXT 490 Z=INT(LEN(D$)/2)*2-2 500 FORI=1TO Z STEP2:X1=ASC(MID$(D$,I,1)):X2=ASC(MID$(D$,I+1,1)) 510 GOSUB1020:GOSUB760 520 POKE53280,I:NEXT:D$=B$:B$=A$ 530 B=1 540 POKEV+28,PEEK(V+28)OR1:POKEV+39,7:POKEV+37,2:POKEV+38,5:POKEV,X 550 POKEV+1,Y:POKE24568,255:POKEV+21,1 560 POKE53265,PEEK(53265)AND239 570 POKE53265,59:POKE53272,120:POKE56576,PEEK(56576)AND254 580 IFZZ=2THENPOKE53270,216 590 POKE53265,PEEK(53265)OR16 600 POKESID+24,15 610 LE=L*8:WE=W*8 620 X=XX:Y=YY 630 GETK$:IFK$="[133]"THENGOSUB1150 640 TG=1-TG:POKEV+21,TG:J2=PEEK(56320) 650 FR=J2AND16:JV=15-(J2AND15) 660 IF FR=0THENGOSUB950:GOTO630 670 IFJV=1 AND Y>YY THENY=Y-LE:B=B-INT(40/W):GOTO710 680 IFJV=2 AND YXX THENX=X-WE:B=B-1:GOTO710 700 IFJV=8 AND X255) 720 POKEV+16,TR*(-1) 730 POKEV,X+(TR*255):POKEV+1,Y 740 GOTO630 750 GOSUB1020:IFB$=D$THEN EN=1 760 FORN=0TOL-1:FOR N1=0TOW-1 770 Y1=S(X1)+(N1*8)+(N*320):C1=C(X1)+N1+N*40:V1=C1-31744 780 Y2=S(X2)+(N1*8)+(N*320):C2=C(X2)+N1+N*40:V2=C2-31744 790 YL=FN LO(Y1):YH= FN HI(Y1) 800 XL=FN LO(Y2):XH= FN HI(Y2) 810 POKE165,YL:POKE166,YH:POKE167,XL:POKE168,XH 820 SYS 828 830 IFZZ=2 THEN POKE49160,PEEK(C1):POKEC1,PEEK(C2):POKEC2,PEEK(49160) 840 POKE49161,PEEK(V1):POKEV1,PEEK(V2):POKEV2,PEEK(49161) 850 NEXT:NEXT 860 IFEN=1THEN1060 870 RETURN 880 POKE53270,200:POKE53265,27:POKE53272,21:POKE56576,PEEK(56576)OR1:POKEV+21,0 890 POKE53280,0:POKE53281,0:PRINT"[147][129] LOAD ANOTHER PICTURE PUZZLE AND" 900 PRINT" PLAY AGAIN (Y/N)[146] "; 910 GETA$:IFA$=""THEN910 920 IFA$="N"THEN POKE55,0:POKE56,160:CLR:STOP 930 IFA$="Y"THENPRINT:GOTO30 940 GOTO910 950 FL=FL+1 960 IFFL=2THENX2=B:IFX2=X1THEN FL=1:RETURN 970 IF FL=2 THEN FL=0:GOSUB990:GOSUB750:RETURN 980 X1=B:GOSUB1000:RETURN 990 HF=110:LF=0:GOSUB1010:RETURN 1000 HF=70:LF=0:GOSUB1010:RETURN 1010 POKESID+1,HF:POKESID,LF:POKESID+4,17:POKESID+4,16:RETURN 1020 IFX1>X2THENX3=X1:X1=X2:X2=X3 1030 X1$=MID$(B$,X1,1):X2$=MID$(B$,X2,1) 1040 B$=LEFT$(B$,X1-1)+X2$+MID$(B$,X1+1,X2-X1-1)+X1$+RIGHT$(B$,LEN(B$)-X2) 1050 RETURN 1060 FOR R=0TO2 1070 POKESID+5,85:POKESID+6,85:POKESID+12,85:POKESID+13,85 1080 POKESID+4,33:POKESID+11,17 1090 FORN=0TO5:FORX=0TO3:V(X)=PEEK(850+(N*4)+X):NEXT 1100 POKESID+1,V(0):POKESID,V(1):POKESID+8,V(2):POKESID+7,V(3):POKE53280,V(2) 1110 IFH1=50THEN FOR T=1TO200:NEXT 1120 FORT=1TO125:NEXT:NEXT 1130 POKESID+4,32:POKESID+11,16:FORW=1TO500:NEXT:NEXT 1140 GOTO880 1150 IFZZ=2THENGOSUB1620 1160 POKE53272,8:POKE56576,(PEEK(56576)AND252)OR1 1170 POKEV+21,0 1180 GETK$:IFK$<>"[133]"THEN1180 1190 IFZZ=2THENGOSUB1620 1200 POKE53272,120:POKE56576,(PEEK(56576)AND252)OR2 1210 POKEV+21,1 1220 RETURN 1230 PRINT" PLEASE INSERT DISK CONTAINING DOODLE[146]":N=1 1240 PRINT TAB(8);"OR KOALA[146] PICTURE FILES" 1250 PRINT" PRESS ANY KEY WHEN READY" 1260 GETK$:IF K$=""THEN1260 1270 PRINT"[147]"TAB(12);" PICTURE FILES " 1280 OPEN1,8,0,"$" 1290 GET#1,B$:IFST<>0THEN1400 1300 IFN>19THEN1400 1310 IFB$<>CHR$(34)THEN1290 1320 N$="" 1330 GET#1,B$:IFB$<>CHR$(34)THEN N$=N$+B$:GOTO1330 1340 GET#1,B$:IFB$=CHR$(32)THEN1340 1350 IFLEFT$(N$,1)=" "THEN N=N-1:GOTO1380 1360 IFLEFT$(N$,2)<>"DD"ANDLEFT$(N$,1)<>"[129]" THENN=N-1:GOTO1380 1370 N$(N)=N$:PRINTTAB(12)N$(N) 1380 GET#1,B$:IFB$<>""THEN1380 1390 IF ST=0THEN N=N+1:GOTO1290 1400 CLOSE1 1410 IFN=1THENPRINT" NO PICTURES ON THIS DISK":FORI=1TO2000:NEXT:GOTO1230 1420 PRINT" (USE CURSOR UP/DOWN TO HIGHLIGHT) 1430 [153]" PRESS RETURN TO LOAD PICTURE 1440 A=1:C1=0:C=125:GOSUB1510 1450 K=PEEK(197):SH=PEEK(653):IFK<>7ANDK<>1THEN1450 1460 IFK=7ANDSH=0ANDA<(N-1)THENC1=1:GOSUB1500 1470 IFK=7AND SH=1ANDA>1THENC1=-1:GOSUB1500 1480 IFK=1THENRETURN 1490 GOTO1450 1500 FORI=0TO24:POKE55296+I+(A)*40+C,8:NEXT 1510 A=A+C1:FORI=0TO24:POKE55296+I+(A)*40+C,1:NEXT 1520 RETURN 1530 POKE49872,0:POKE49873,92:POKE49874,0:POKE49875,96:POKE49876,0 1540 POKE49877,128:POKE49878,0:SYS49879 1550 POKE49872,0:POKE49873,96:POKE49874,0:POKE49875,128:POKE49876,0 1560 POKE49877,160:POKE49878,0:SYS49879:RETURN 1570 POKE49872,64:POKE49873,127:POKE49874,39:POKE49875,131:POKE49876,0 1580 POKE49877,92:POKE49878,0:SYS49879 1590 POKE49872,40:POKE49873,131:POKE49874,15:POKE49875,135:POKE49876,0 1600 POKE49877,216:POKE49878,0:SYS49879 1610 POKE49877,196:POKE49878,0:SYS49879:RETURN 1620 POKE49872,0:POKE49873,216:POKE49874,0:POKE49875,220:POKE49876,0 1630 POKE49877,196:POKE49878,1:SYS49879:RETURN 1640 DATA 160,0,177,165,153,0,192,177 1650 DATA 167,145,165,185,0,192,145,167 1660 DATA 200,192,8,208,237,96,25,30 1670 DATA 18,209,33,135,25,30,42,62 1680 DATA 31,165,50,60,37,162,42,62 1690 DATA 31,165,50,60,37,162 1700 DATA 173,210,194,205,208,194,173 1710 DATA 211,194,237,209,194,144,80,173 1720 DATA 208,194,133,251,173,209,194 1730 DATA 133,252,173,212,194,133,253 1740 DATA 173,213,194,133,254,173,210 1750 DATA 194,133,247,173,211,194,133 1760 DATA 248,173,214,194,133,249,160,0 1770 DATA 177,251,166,249,240,8,133,250 1780 DATA 177,253,145,251,165,250,145 1790 DATA 253,230,251,208,2,230,252,230 1800 DATA 253,208,2,230,254,165,252,197 1810 DATA 248,208,222,165,247,197,251,48 1820 DATA 3,76,10,195,96 1830 DATA 170,192,0,187,0,0,169,0 1840 DATA 0,183,64,0,193,144,0,0 1850 DATA 116,0,0,25,0,0,7,64 1860 DATA 0,1,144,0,0,116,0,0 1870 DATA 25,0,0,7,0,0,0,0 1880 DATA 0,0,0,0,0,0,0,0 1890 DATA 0,0,0,0,0,0,0,0 1900 DATA 0,0,0,0,0,0,0,197